﻿/***************************************************************************************************
 * Copyright 2024-2025 x-tools-author(x-tools@outlook.com). All rights reserved.
 *
 * The file is encoded using "utf8 with bom", it is a part of wxTools project.
 *
 * wxTools is licensed according to the terms in the file LICENCE(GPL V3) in the root of the source
 * code directory.
 **************************************************************************************************/
#pragma once

#include <wx/wx.h>

#include "Common/wxTools.h"

class Page;
class PageIOInput;
class PageIOOutput;
class PageIO : public wxPanel
{
    struct Parameters
    {
        const std::string input = {"input"};
        const std::string output = {"output"};
    };

public:
    PageIO(Page *parent);

    PageIOInput *GetInput() const;
    PageIOOutput *GetOutput() const;

    wxtJson DoSave() const;
    void DoLoad(const wxtJson &parameters);

private:
    PageIOInput *m_input;
    PageIOOutput *m_output;
};
